// apis/apiConfig.js
// API配置文件，用于管理不同服务的端口和基础路径

// 开发环境配置
const devConfig = {
  // 文件服务
  file: {
    baseUrl: '/api/file',
    target: 'http://localhost:6001',
    pathRewrite: '^/api/file'
  },
  
  // 消息服务
  message: {
    baseUrl: '/api/message',
    target: 'http://localhost:6002',
    pathRewrite: '^/api/message'
  },
  
  // 产品服务
  product: {
    baseUrl: '/api/product',
    target: 'http://localhost:6004',
    pathRewrite: '^/api/product'
  },
  
  // 系统服务
  sys: {
    baseUrl: '/api/sys',
    target: 'http://localhost:6005',
    pathRewrite: '^/api/sys'
  },
  
  // 用户服务
  user: {
    baseUrl: '/api/user',
    target: 'http://localhost:6006',
    pathRewrite: '^/api/user'
  },
  
  // 工单服务
  order: {
    baseUrl: '/api/order',
    target: 'http://localhost:6009',
    pathRewrite: '^/api/order'
  }
};

// 生产环境配置（根据实际部署情况配置）
const prodConfig = {
  file: {
    baseUrl: '/api/file'
  },
  message: {
    baseUrl: '/api/message'
  },
  product: {
    baseUrl: '/api/product'
  },
  sys: {
    baseUrl: '/api/sys'
  },
  user: {
    baseUrl: '/api/user'
  },
  order: {
    baseUrl: '/api/order'
  }
};

// 根据环境选择配置
const isDevelopment = process.env.NODE_ENV === 'development';
const apiConfig = isDevelopment ? devConfig : prodConfig;

// 获取服务配置
export const getServiceConfig = (serviceName) => {
  return apiConfig[serviceName] || apiConfig.order; // 默认使用order服务
};

// 获取基础URL
export const getBaseUrl = (url) => {
  if (url.startsWith('/file')) {
    return apiConfig.file.baseUrl;
  } else if (url.startsWith('/message')) {
    return apiConfig.message.baseUrl;
  } else if (url.startsWith('/product')) {
    return apiConfig.product.baseUrl;
  } else if (url.startsWith('/sys')) {
    return apiConfig.sys.baseUrl;
  } else if (url.startsWith('/user')) {
    return apiConfig.user.baseUrl;
  } else if (url.startsWith('/order')) {
    return apiConfig.order.baseUrl;
  } else {
    // 默认使用order服务
    return apiConfig.order.baseUrl;
  }
};

export default apiConfig;